package com.xbongbong.saas.model;

import com.alibaba.fastjson.JSONObject;
import com.xbongbong.paas.domain.entity.PaasFormRichTextEntity;
import com.xbongbong.paas.pojo.dto.FormDataUpdateDTO;
import com.xbongbong.paas.pojo.dto.FormRichTextBatchDTO;

import java.util.List;
import java.util.Map;


/**
 * @author bomfish
 */
public interface PaasFormRichTextModel {
    Long insert(PaasFormRichTextEntity entity);

    void insertBatch(List<PaasFormRichTextEntity> list);

    List<PaasFormRichTextEntity> findEntities(Map<String, Object> param);

    Integer getEntityCount(Map<String, Object> param);

    Integer update(PaasFormRichTextEntity entity);

    Integer updateByDataId(PaasFormRichTextEntity entity);

    PaasFormRichTextEntity getByKey(Long key, String corpid);

    PaasFormRichTextEntity getByDataId(PaasFormRichTextEntity entity);

    void deleteByDataId(PaasFormRichTextEntity entity);

    boolean hasData(Map<String, Object> params);

    Integer countData(Map<String, Object> params);

    void updateTime(PaasFormRichTextEntity entity);

    /**
     * 批量操作
     *
     * @param batchDTO
     */
    void operateBatch(FormRichTextBatchDTO batchDTO);

    /**
     * 在Json数据中拼装富文本
     *
     * @param dataId       数据Id
     * @param corpid       公司Id
     * @param formId       表单Id
     * @param businessType 业务类型
     * @param saasMark     Saas标记
     * @param del          删除标记
     * @param data         Json数据
     */
    void addRichTextByDataId(Long dataId, String corpid, Long formId, Integer businessType, Integer saasMark, Integer del, JSONObject data);

    Integer updateFormRichText(FormDataUpdateDTO formDataUpdateDTO, Object richTextData);

}
